1. Field of the Invention
The present invention relates to a data re-transmission management scheme in which a server carries out a data transmission with respect to a plurality of terminals such as a multicast communication, and a data re-transmission with respect to terminals in a case of a loss or error of the received data at terminals.
2. Description of the Background Art
In general, in a multicast communication in which a server transmits data with respect to a plurality of terminals, the server of the transmitting side divides a series of data into data of appropriate sizes (called packets) and transmits the packets to the terminals. Each terminal then returns a positive acknowledge (ACK) for a normal receiving or a negative acknowledge (NACK) indicating information on unreceived data to the server, and the server carries out the data re-transmission with respect to a plurality of terminals again according to the returned acknowledges.
FIG. 1 shows a procedure of the data re-transmission to a plurality of terminals according to a conventional management scheme. In this conventional procedure of FIG. 1, the server transmits all the transmission data with respect to a plurality of terminals first. Then, each terminal returns an acknowledge (ACK/NACK) to the server, and the server generates the re-transmission data according to the returned acknowledges and carries out the data re-transmission. This operation is repeated subsequently.
FIG. 1 shows an exemplary case of the data transmission from the server 1100 to three terminals 13001, 1300-2 and 1300-3. In response, the acknowledge for a normal receiving (ACK) or for a abnormal receiving (NACK) is returned from each terminal. In this example, only the terminal 1300-1 returned ACK as a result of this data transmission, so that the server 1100 generates the re-transmission data and carries out the data re-transmission with respect to the terminals 1300-2 and 1300-3 next. In this example, only the terminal 1300-2 returned ACK as a result of this data re-transmission, so that the server 1100 generates the re-transmission data and carries out the data re-transmission with respect to the terminal 1300-3 again.
On the other hand, in a case of the one-to-one communication, there is a conventional data transmission management scheme in which a terminal transmits a busy notification to the server when this terminal becomes temporarily busy, so as to request the interruption of the data transmission to this busy terminal, and this terminal transmits a busy cancelled notification to the server when this terminal becomes free.
FIG. 2 shows a procedure of this conventional data transmission management scheme using a busy notification in the one-to-one communication. In this conventional procedure of FIG. 2, when a busy notification from a terminal which became temporarily busy is received by the server during the data transmission, the server interrupts the data transmission to this terminal, and the server resumes the data transmission after a busy cancelled notification is received from this terminal.
FIG. 2 shows an exemplary case in which the server 1100 transmits data to the terminal 1300 while the terminal 1300 is temporarily busy. In this case, when the server 1100 transmits data, the busy notification is issued from the terminal 1300, so that the server 1100 interrupts the data transmission upon receiving this busy notification. Then, when the terminal 1300 becomes free, the terminal 1300 transmits the busy cancelled notification to the server 1100. Upon receiving this busy cancelled notification, it becomes possible for the server 1100 to resume the data transmission to the terminal 1300.
However, when these two conventional management schemes described above are used in combination, there arises a problem in that, when the server receives the busy notification from one terminal, if the server is carrying out a unified state management for this one terminal and for the other normal terminals, the data transmission or re-transmission with respect to the other normal terminals which are not busy would also be interrupted when the data transmission or re-transmission with respect to that one terminal is interrupted in response to the busy notification, so that the efficiency of the entire data communication would be lowered considerably. On the other hand, under the same circumstance, if the communication with respect to that one terminal is taken out from the state management, there would be a need to carry out the re-transmission with respect to that one terminal from the beginning, including even those data which were already received, so that the communication efficiency with respect to that one terminal would be lowered considerably.
In addition, in the former one of the two conventional management schemes described above, if a certain terminal with a poor data receiving state is treated equally as all the other normal terminals, there is a problem in that, because of the poor receiving performance of this certain terminal, the data communication efficiency with respect to all the terminals would be lowered by the need of the acknowledge processing or the acknowledge waiting for this certain terminal. On the other hand, under the same circumstance, if the communication with respect to that certain terminal is taken out from the state management, there would be a need to carry out the re-transmission with respect to that certain terminal from the beginning, including even those data which were already received, so that the communication efficiency with respect to that certain terminal would be lowered considerably.
Note that the problems described above are prominent in a case of the data transmission using the multicast communication in which the server transmits data with respect to a plurality of terminals by a single transmission processing.